Statistical Modeling of Control Flow for Speculative Helper Thread Optimization
نویسنده
چکیده
This paper describes a framework for modeling program behavior and applies it to optimizing prescient instruction prefetch–a novel technique that uses helper threads to improve singlethreaded application performance. Spawn-target pair selection is optimized by modeling program behavior with Markov chains and analyzing them with path expression mappings. Mappings for reaching, and posteriori probability; path length mean, and variance; and path footprint are presented. A limit study demonstrates speedups of 4.8% to 17% for benchmarks with high I-cache miss rates. The framework has been applied to data prefetch helper threads and is potentially applicable to other thread speculation techniques.
منابع مشابه
Modeling and Optimization of Speculative Threads
Modeling and Optimization of Speculative Threads Tor M. Aamodt Doctor of Philosophy Department of Electrical and Computer Engineering University of Toronto 2006 This dissertation proposes a framework for modeling the control flow behavior of a program and the application of this framework to the optimization of speculative threads used for instruction and data prefetch. A novel form of helper t...
متن کاملPrescient Instruction Prefetch
This paper introduces prescient instruction prefetch, a technique that uses helper threads to improve single-threaded application performance by performing judicious and timely instruction prefetch. A helper thread is initiated when the main thread encounters a spawn point. The execution of the helper thread prefetches instructions starting at a distant target point that identifies a code regio...
متن کاملLimits of Parallelism on Thread-level Speculative Parallel Processing Architecture
Two fundamental restrictions that limit the amount of instructionlevel parallelism extracted from sequential programs are control flow and data flow. TLSP (Thread-Level Speculative Parallel processing) architecture gains high parallelism using three techniques (speculation with branch prediction, control dependence analysis, executing multiple flows of control) which relax constraints due to co...
متن کاملThe Potential of Synergistic Static, Dynamic and Speculative Loop Nest Optimizations for Automatic Parallelization
Research in automatic parallelization of loop-centric programs started with static analysis, then broadened its arsenal to include dynamic inspection-execution and speculative execution, the best results involving hybrid static-dynamic schemes. Beyond the detection of parallelism in a sequential program, scalable parallelization on many-core processors involves hard and interesting parallelism ...
متن کاملExploiting Speculative TLP in Recursive Programs by Dynamic Thread Prediction
Speculative parallelisation represents a promising solution to speed up sequential programs that are hard to parallelise otherwise. Prior research has focused mainly on parallelising loops. Recursive procedures, which are also frequently used in real-world applications, have attracted much less attention. Moreover, the parallel threads in prior work are statically predicted and spawned. In this...
متن کامل